Computing systems connected to a network generally perform a discovery or enumeration procedure to detect and/or otherwise identify other devices on the network. One method for performing the device discovery procedure is to generate and broadcast datagram packets onto the network and evaluate the datagram response packets received from the various devices on the network. However, this type of datagram enumeration procedure is sometimes unreliable. For example, if the discovery datagram packet cannot be sent over the network or the discovery datagram packet is not received by one or more network devices, no error is generated to alert the sender that the discovery datagram packet was not received be a network device. Further, if too many responses are received at one time by the computing system, one or more of the responses may be “dropped” (e.g., not processed and/or discarded).